package com.cac.demo.newCode.sorting.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * AO物料配套清单
 * </p>
 *
 * @author xz
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("MS_AO_MATCH_BILL")
public class MsAoMatchBill implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId
    @TableField("MS_AO_MATCH_BILL_ID")
    private String msAoMatchBillId;

    /**
     * 工艺ID号
     */
    @TableField("PLAN_ID")
    private String planId;

    /**
     * AO分拣任务id
     */
    @TableField("MS_TASK_AO_ID")
    private String msTaskAoId;

    /**
     * 物料编码
     */
    @TableField("ITEM_CODE")
    private String itemCode;

    /**
     * 物料名称
     */
    @TableField("ITEM_NAME")
    private String itemName;

    /**
     * 数量
     */
    @TableField("ITEM_QTY")
    private BigDecimal itemQty;

    /**
     * 物料类型   零件  成品   标准件
     */
    @TableField("ITEM_TYPE")
    private String itemType;

    /**
     * 版本号
     */
    @TableField("AO_VERSION")
    private String aoVersion;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATION_DATE")
    private Date creationDate;

    /**
     * 最后修改人
     */
    @TableField("LAST_UPDATED_BY")
    private String lastUpdatedBy;

    /**
     * 最后修改时间
     */
    @TableField("LAST_UPDATE_DATE")
    private Date lastUpdateDate;

    /**
     * 最后更新IP
     */
    @TableField("LAST_UPDATE_IP")
    private String lastUpdateIp;

    /**
     * AO物料配套信息
     */
    @TableField("MS_AO_MATCH_INFO_ID")
    private String msAoMatchInfoId;

    /**
     * 机型
     */
    @TableField("PRODUCT_CODE")
    private String productCode;

    /**
     * 批次
     */
    @TableField("BATCH_NO")
    private String batchNo;

    /**
     * 架次
     */
    @TableField("PLANE_NO")
    private String planeNo;

    /**
     * 工作包编码
     */
    @TableField("WORKPLACE_CODE")
    private String workplaceCode;

    /**
     * AO编码
     */
    @TableField("AO_CODE")
    private String aoCode;

    /**
     * 导入组号
     */
    @TableField("IMPORT_GROUP_NO")
    private String importGroupNo;

    /**
     * 装配图号
     */
    @TableField("REPART_ASS")
    private String repartAss;

    /**
     * A 新增 D 删除  U 修改,C:AO工艺更改
     */
    @TableField("ART_CHANGE_TYPE")
    private String artChangeType;

    /**
     * 是否工艺更改 Y是  N否
     */
    @TableField("IS_ART_CHANGE")
    private String isArtChange;

    /**
     * 工艺更改前数量，工艺更改的数量会更新到item_qty中
     */
    @TableField("ART_CHANGE_NUM")
    private BigDecimal artChangeNum;

    /**
     * 是否工艺更改归零 Y是N否
     */
    @TableField("IS_CHANGE_ZERO")
    private String isChangeZero;

    /**
     * 归零时间
     */
    @TableField("CHANGE_ZERO_TIME")
    private Date changeZeroTime;

    /**
     * 配套状态 ,00 初始状态   02配套完成   04缺件状态 06取消状态
     */
    @TableField("STATE")
    private String state;

    /**
     * 物料缺件状态，00 不缺  A A类缺件 B B类缺件   C   C类缺件
     */
    @TableField("A_STATE")
    private String aState;

    @TableField("MATERIAL_AREA")
    private String materialArea;

    @TableField(exist = false)
    private BigDecimal before_change_num;
    @TableField(exist = false)
    private long afterChangeNum;
}
